/**
 * C++公用头文件, 提供一些基本宏定义
 * 
 * 开发者   : Marco
 * 创建时间 : 2017年5月20日, 上午9:52
 */

#ifndef __MARCOPP_H__
#define __MARCOPP_H__


// 编译各个模块开关宏, 定义了则不编译该模块
//#define MARCO_NO_MD5
//#define MARCO_NO_CONF
//#define MARCO_NO_TPOOL
//#define MARCO_NO_STRING
//#define MARCO_NO_HTTP


// 命名空间宏
#ifndef MARCOPP_NAMESPACE
#define MARCOPP_NAMESPACE marco
#endif
#ifndef MARCOPP_NAMESPACE_BEGIN
#define MARCOPP_NAMESPACE_BEGIN namespace MARCOPP_NAMESPACE {
#endif
#ifndef MARCOPP_NAMESPACE_END
#define MARCOPP_NAMESPACE_END }
#endif


// 异常处理宏, 支持 03/0x mode.
#ifndef MARCOPP_NOEXCEPT
# if __cplusplus >= 201103L
#  define MARCOPP_NOEXCEPT noexcept
#  define MARCOPP_USE_NOEXCEPT noexcept
#  define MARCOPP_THROW(_EXC)
# else
#  define MARCOPP_NOEXCEPT
#  define MARCOPP_USE_NOEXCEPT throw()
#  define MARCOPP_THROW(_EXC) throw(_EXC)
# endif
#endif

#endif /* __MARCOPP_H__ */